package com.ruoyi.xp.order.service;

import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.xp.order.domain.OrderItemHeadPackage;

/**
 * 虾皮订单明细外部采购货物信息Service接口
 * 
 * @author chdx
 * @date 2023-01-22
 */
public interface IOrderItemHeadPackageService 
{
    /**
     * 查询虾皮订单明细外部采购货物信息
     * 
     * @param orderItemHeadPackageId 虾皮订单明细外部采购货物信息主键
     * @return 虾皮订单明细外部采购货物信息
     */
    public OrderItemHeadPackage selectOrderItemHeadPackageByOrderItemHeadPackageId(Long orderItemHeadPackageId);

    /**
     * 查询虾皮订单明细外部采购货物信息列表
     * 
     * @param orderItemHeadPackage 虾皮订单明细外部采购货物信息
     * @return 虾皮订单明细外部采购货物信息集合
     */
    public List<OrderItemHeadPackage> selectOrderItemHeadPackageList(OrderItemHeadPackage orderItemHeadPackage);

    /**
     * 新增虾皮订单明细外部采购货物信息
     * 
     * @param orderItemHeadPackage 虾皮订单明细外部采购货物信息
     * @return 结果
     */
    public int insertOrderItemHeadPackage(OrderItemHeadPackage orderItemHeadPackage);

    /**
     * 修改虾皮订单明细外部采购货物信息
     * 
     * @param orderItemHeadPackage 虾皮订单明细外部采购货物信息
     * @return 结果
     */
    public int updateOrderItemHeadPackage(OrderItemHeadPackage orderItemHeadPackage);

    /**
     * 批量删除虾皮订单明细外部采购货物信息
     * 
     * @param orderItemHeadPackageIds 需要删除的虾皮订单明细外部采购货物信息主键集合
     * @return 结果
     */
    public int deleteOrderItemHeadPackageByOrderItemHeadPackageIds(String orderItemHeadPackageIds);

    /**
     * 删除虾皮订单明细外部采购货物信息信息
     * 
     * @param orderItemHeadPackageId 虾皮订单明细外部采购货物信息主键
     * @return 结果
     */
    public int deleteOrderItemHeadPackageByOrderItemHeadPackageId(Long orderItemHeadPackageId);

    /**
     * 根据订单号删除订单明细外部采购信息
     *
     * @param orderSn
     */
    public void deleteOrderItemHeadPackageByOrderSn(String orderSn);

    /**
     * 获取没有采购价的订单明细
     *
     * @param orderSn
     * @param purchaseOrderSn
     * @param purchasePrice
     * @return
     */
    public boolean updatePurchasePrice(String orderSn, String purchaseOrderSn, BigDecimal purchasePrice);
}
